#include <QMutexLocker>
#include "registrotiempos.h"
#include "entrenador.h"

RegistroTiempos::RegistroTiempos()
{
	milisegndosMemoria = 2000;
}

RegistroTiempos::~RegistroTiempos()
{

}

QList<quint64> RegistroTiempos::getListaTiempos()
{
	//QMutexLocker locker (&mutex);
	actualizar();
	return colaTiempos;
}

void RegistroTiempos::limpiar()
{
	//QMutexLocker locker (&mutex);
	colaTiempos.clear();
}

void RegistroTiempos::registrar(quint64 milisegundo)
{	
	//QMutexLocker locker (&mutex);
	actualizar();
	colaTiempos.enqueue(milisegundo);
}

quint64 RegistroTiempos::getUltimoTiempo()
{
	//QMutexLocker locker (&mutex);
	return colaTiempos.last();
}

void RegistroTiempos::actualizar()
{
	if (colaTiempos.isEmpty()) {
		return;
	}

	quint64 msActual = Entrenador::getInstancia()->getMilisegundosDesdeInicio();
			
	while (colaTiempos.head() + milisegndosMemoria > msActual) {
		colaTiempos.dequeue();
	}
}